bad things about software engineering